home *** CD-ROM | disk | FTP | other *** search
/ Assassins - Ultimate CD Games Collection 2 / Assassins 2 - Ultimate Games No. 2 (1995)(Weird Science)[!][Amiga-CD32-CDTV].iso / arcade / shark / read.me < prev    next >
Text File  |  1995-01-01  |  10KB  |  222 lines

  1. SHARK! (C) 1989 Jim Webster
  2. All Rights Reserved
  3.  
  4.  
  5.          Technical Information About SHARK!
  6.          --------- ----------- ----- -----
  7.  
  8.    SHARK! uses animation objects (or AnimObs) in a double-buffered screen to
  9. achieve its results.  The shark, and it's prey the perch, are actually 
  10. composed of six such AnimObs, one for each direction.  Each of these AnimObs
  11. are in turn composed of three Blitter Objects, or Bobs, which show each
  12. individual "frame" of the fish as it wiggles back and forth.  When the shark
  13. is swimming horizontally from left to right, for example, you are seeing
  14. a series of alternating Bobs that correspond to only one of six AnimObs,
  15. while the other five shark AnimObs are not shown on screen.
  16.    Each AnimOb also has x and y screen coordinates, as well as velocity
  17. values in both x and y directions.  These velocity values determine how fast
  18. the shark, or perch, can travel in a given direction, and play a large part
  19. in determining how easy -- or hard -- the game is.  In beginner mode, for
  20. example, the overall velocity of the shark is greater than the perch, making
  21. the perch easier to catch.  There are a lot of other variables that go into
  22. SHARK!, however, and the best way to describe them is to describe how you
  23. can run SHARK! from the CLI.
  24.  
  25.  
  26.  
  27.  
  28.  
  29.    Customizing SHARK!: Command Line Arguments
  30.    ----------- ------  ------- ---- ---------
  31.  
  32.    SHARK! can of course be run from Workbench simply by double clicking its
  33. icon.  You can also run SHARK! by entering SHARK! into a CLI or Shell.  Just
  34. typing SHARK! by itself will run it same way as clicking the icon, but if
  35. you add command line arguments, you can have more direct control over the
  36. "playability" of the game.
  37.    The following is a summary of the possible command line arguments, and
  38. the effect each has on the game.  PLEASE NOTE: the arguments must be entered
  39. in the EXACT ORDER given below. Plus, even though SHARK! is a multi-tasking
  40. game, use command line arguments AT YOUR OWN RISK!  I cannot guarantee that
  41. your (hopefully recoverable) RAM disk will survive if you step into these
  42. waters...
  43.  
  44.  
  45.     Template:
  46.     SHARK! <pic file> <meal sound file> <death sound file>
  47.            <sharkhungerlevel> <sharkstarvelevel> <clickhungerunits>
  48.            <highspeedhungerunits> <lowspeedhungerunits> <sharkvel>
  49.            <addsharkcycle> <highspeedfactor> <lowspeedfactor> <hardercycle>
  50.            <perchvel> <perchvelLIMIT> <perchvelADD> <randomchangeperch>
  51.            <changeperchlevel> <changeperchlevelADD> <changeperchlevelLIMIT>
  52.            <changeperchodds> <<changeperchoddsADD> <changeperchoddsLIMIT>
  53.  
  54.    If you wish to use the DEFAULT value for any of the variables above, you
  55. should use a 'd'.  For example,
  56.  
  57.        SHARK! myocean d mydeathsound
  58.  
  59. will try to load a picture file named "myocean" as the background, will use
  60. the default meal sound, and will try to load the sampled sound file
  61. "mydeathsound" to replace the default death sound.
  62.    An explanation for each of the arguments, plus their default values, is
  63. as follows:
  64.  
  65.    pic file: name of an IFF picture file. Default: "ocean".  If "ocean" is
  66.     not in the current directory, and no pic file is specified, you'll
  67.     get a black screen as background.  If the specified pic file can't
  68.     be loaded, SHARK!  will try to load "ocean".
  69.  
  70.    meal sound file: name of an IFF 8SVX digitized sound file. Default: a
  71.     built-in "gulp" sound, i.e. no file is required.
  72.  
  73.    death sound file: also an 8SVX sound file. Default: a built-in "gasp"
  74.     sound.
  75.  
  76. NOTE: You will still be presented with the option of playing at beginner,
  77. intermediate or expert level, and if you make top ten your score will be
  78. saved in whatever level you had chosen for that game.  However, if you use
  79. any of the command line arguments described below, SHARK! will NOT use any
  80. of the settings for your play level choice.
  81.  
  82. The next seven arguments relate to the shark only, and are all integers:
  83.  
  84.    sharkhungerlevel: Each time the shark and perch positions are updated and
  85.     displayed onscreen, a counter ticks.  When this counter reaches the
  86.     sharkhungerlevel value, the screen flashes to tell you that the
  87.     shark is "hungry".  When the shark gets a meal, the counter is reset
  88.     to zero.  Default value: 275.
  89.  
  90.    sharkstarvelevel: the number of counter ticks before the shark (assuming
  91.     no meal) starves to death.  Default value: 400.
  92.  
  93.    clickhungerunits: When you click the left mouse button to change the
  94.     shark's direction, you use up a little extra "energy", i.e. the
  95.     counter is increased by this value.  This increase happens once
  96.     each time you change direction.  Default value: 20.
  97.  
  98.    highspeedhungerunits: going fast (by pressing space bar) increases the
  99.     counter by this value each time the screen is updated.  Default
  100.     value: 3.
  101.  
  102.    lowspeedhungerunits: going normal speed increases the counter by this
  103.     amount.  Normally it's lower than highspeedhungerunits.  Default
  104.     value: 1.
  105.  
  106.    sharkvel: short for shark velocity.  Divide this number by 64 to get the
  107.     total number of pixel positions the shark moves for each screen
  108.     update.  The x and v velocity, when added together, equal this
  109.     number.  Default value: 308.
  110.  
  111.    addsharkcycle: The sharks added here are the "baby" sharks in the lower
  112.     right hand corner, of which 3 is the maximum.  Every arcade game has
  113.     these, right?  addsharkcycle tells you how many perch you gotta eat
  114.     before you get another spare.  Default: 10, i.e. every tenth meal
  115.     you get an extra shark, assuming limit of 3 has not been exceeded.
  116.  
  117. The next two arguments are floating point decimal values that pertain to
  118. the shark's speed up and slow down option.
  119.  
  120.    highspeedfactor: how much faster the shark goes when you put the pedal to
  121.     the spacebar.  Shark's current speed (sharkvel) is multiplied by
  122.     this number.  Default value:  1.5.
  123.  
  124.    lowspeedfactor: Default: 1.0/highspeedfactor, to bring shark back to
  125.     original speed, but just for ducks you might try something bizarre.
  126.  
  127. The remaining arguments are integers, and pertain to the perch only.  As the 
  128. game progresses, and you catch more perch, the perch become faster and more
  129. elusive.
  130.  
  131.    hardercycle:  like addsharkcycle, this pertains to a cyclical event.  In
  132.     this case, how frequently the perch become harder to catch.  Every
  133.     hardercycle meals, a routine called makeharder() is called. 
  134.     Default value: 15.
  135.  
  136.    perchvel: similar to sharkvel.  Default value : 308, i.e. shark and perch 
  137.     start out with identical velocities.
  138.  
  139.    perchvelLIMIT: Perch get faster with each call to makeharder(), but only
  140.     up to this limit.  Default value: 320.
  141.  
  142.    perchvelADD: This number gets added to perchval each time makeharder() is
  143.     called.  Default value : 4.
  144.  
  145.    randomchangeperch: actually, this is a boolean value, so any non-zero
  146.     value will make it TRUE.  If true, the perch will occasionally
  147.     change direction at random; if not true, it will continue in a
  148.     straight line.  Default value: true.
  149.  
  150. The remaining arguments pertain to the frequency with which the perch
  151. changes direction.
  152.  
  153.    changeperchlevel: The perch travels in a straight line until the counter
  154.     reaches this value, at which point the perch MAY change direction
  155.     with each passing screen update.  Default value: 100.
  156.  
  157.    changeperchlevelADD: With each meal, the next perch MAY change direction
  158.     slightly sooner than the pervious one.  This normally negative 
  159.     number is added to changeperchlevel to lower it.  Default value: -8.
  160.  
  161.    changeperchlevelLIMIT: how far changeperchlevel can go before 
  162.     changeperchlevelADD has no effect.  Default value: 40.
  163.  
  164.    changeperchodds: After the counter has reached changeperchlevel, this
  165.     number is used in conjunction with a random number generator to
  166.     determine if the perch actually WILL change direction; this check
  167.     occurs after each screen update.  If changeperchodds is greater than
  168.     a random number between 0 and 99, then the direction change will
  169.     occur before the next screen update.  Default value: 10.
  170.  
  171.    changeperchoddsADD: in makeharder(), this number is added to
  172.     changeperchodds to increase the likelihood of a direction change
  173.     with each screen update.  Default value: 4.
  174.  
  175.    changeperchoddsLIMITS: makeharder() will not add changeperchoddsADD if
  176.     changeperchodds has already passed or equaled this limit.  Any
  177.     number above 99 has the same effect as 99.  Default value: 50, i.e.
  178.     no better than 1 in 2 odds of a direction change.
  179.  
  180.    It may not be real clear to anyone but myself what all these variables
  181. mean, but there's no reason why you can't experiment with them anyway.  In
  182. particular, you may want to max out on speed, but at a certain point you'll
  183. find that occasionally your "collision course" between shark and perch fails 
  184. because the screen update carries the shark past the perch before the
  185. collision test can be made.
  186.    Here are a few interesting arguments you can make:
  187.  
  188.    Putting highspeedfactor = 2.0 really speeds things up nicely.
  189.    Setting changeperchlevel to 0 will start perch changing direction right
  190. away; setting changeperchodds to a high number, say 30, will really get the
  191. fish jumping around.
  192.    For longer games, set sharkstarvelevel and sharkhungerlevel up high, say
  193. 1200 and 1000.
  194.    If you're playing with difficult settings (i.e., fast and shifty perch,
  195. low starve level) you can prolong the game by reducing the number of meals
  196. it takes to get an extra shark; say, set addsharkcycle to 5 instead of 10.
  197.  
  198.    If you find a particularly good game setting and want to repeat it, you
  199. can make a batch file out of it and then execute the batch file.  For
  200. example, use your favorite text editor and create a file named "xshark",
  201. which consists of one line:
  202.  
  203.    SHARK! d d d 500 650 10 d d 350
  204.  
  205.    Make sure this line ends in a carriage return, save file, then enter from
  206. the CLI or shell:
  207.  
  208.    execute xshark
  209.  
  210.    This will run SHARK! with sharkhungerlevel set to 500, sharkstarvelevel
  211. to 650, clickhungerunits to 10, and sharkvel to 350; all other variables
  212. will retain their default values.  Along with SHARK!'s support files you
  213. should find several files, each beginning with x, which are batch files I've
  214. already created for your enjoyment, curiosity or disgust.
  215.  
  216.    Enjoy.  Remember: just when you think it's safe to return to Workbench...
  217.  
  218.           Jim Webster
  219.           1819 Addison #7
  220.           Berkeley, CA 94703
  221.           415-841-9325
  222.